package cz.vse.adventura.po1715.xforv00_forejt.hra;

import cz.pecinovsky.english.pojj.adv_framework.game_txt.IGame;
import cz.pecinovsky.english.pojj.adv_framework.game_txt.IUI;
import javax.swing.JOptionPane;


/*******************************************************************************
 * Třída {@code MainWin} spouští hru v okenním režimu prostřednictvím
 * metod třídy {@link JOptionPane}.
 * 
 *
 * @author    Vladimír FOREJT
 * @version   0.00.000
 */
public class MainWin implements IUI
{
    /***************************************************************************
     * @param args Parametry příkazového řádku
     */
    public static void main(String[] args)
    {
        MainWin ui = new MainWin();
        ui.startGame();
    }

    /***************************************************************************
     * Spustí komunikaci mezi zadanou hrou a danou instancí
     * mající na starosti komunikaci s uživatelem.
     *
     * @param hra Hra, kterou ma dané UI spustit
     */
    @Override
    public void startGame(IGame hra) {
        String příkaz = "";
        String odpověď;
        for(;;){                //nekonečný cyklus
            odpověď = hra.executeCommand(příkaz);
            if (hra.isReady()) {
                break;                  //------------->

            }
            příkaz = JOptionPane.showInputDialog(odpověď); //vrací string - příkaz, který zadal uživatel
        }
        JOptionPane.showMessageDialog(null, odpověď);
        
    }

    /***************************************************************************
     * Spustí komunikaci mezi implicitní hrou a danou instancí
     * mající na starosti komunikaci s uživatelem.
     */
    @Override
    public void startGame() {
       Hra hra = Hra.getHra();
       startGame(hra);
    }
}
